<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>01 数组的声明和下表的使用</title>
</head>

<body>
    <h1>01 数组的声明和下表的使用</h1>
</body>
<script>
    /*
        数组：
            * 声明
                * 字面量： var arr = [1,2,3];  推荐使用的方法
                * 构造函数： var arr = new Array();
            * 属性：长度 length：可读又可写
            * 操作
                * 下标和length可以实现的操作
                    * 增：
                    * 删：
                    * 改：
                    * 查：读取数据：遍历数组（重点）
            * 方法：
                * push() 推送，给数组尾部添加一个或多个新的数据

    */

    // 字面量声明的数组
    var arr = [1,2,3,'宋雨琦'];

    console.log(arr.length); // 取值，获取数组的总长度

    arr.length = 3; // 删除后面的两个数据
    arr.length = 0; // 快速清空数组

    // 构造函数声明的数组
    var arr2 = new Array('pink', 'black', 'box');
    console.log(arr2);

    // 查：获取某个值'black''
    console.log(arr2[1]); // 读取数组的某个值

    // 读取数组的所有值：循环数组 == 遍历数组
    for (var i = 0; i < arr2.length; i++) {
        var res = arr2[i];
        console.log(arr2[i]);
    }
    // console.log(res);

    // 增：添加数据  本来没有值就是添加新数据   修改：如果对应下标本来有值
    arr2[3] = 789;
    arr2[arr2.length] = 'bule'; // 通过length添加新数据到尾部
    arr2[arr2.length] = 'green';
    arr2[0] = 'purple'; // 修改
    console.log(arr2);

    // 考题
    var arr3 = [1,2,3];
    arr3[6] = '6';
    console.log(arr3.length); // 7
    console.log(arr3); // [1,2,3,,,,7]

    // 删除
    arr3[2] = '';
    console.log(arr3); // 清空某个数字，位置还保留，数组的总长度不变

    // 删掉最后三个数据
    arr3.length = arr3.length - 3; // 删除数组，内容与位置都不存在了
    console.log(arr3);

    // 方法的使用
    var arr4 = [1,2,3];
    console.log(arr4);
    arr4.push(12);
    console.log(arr4);

</script>

</html>